package edu.vt.sdm.tcga.filenavigator.parser.expression.level2;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;



@Entity
@Table(name="expression_level_2")
public class LowessNormalized {

	// Need to break barcode into separate fields...
	// TCGA-A6-2670-01A-02R-0821-07
	// TCGA-A6	Study Number
	// 2670		Patient number
	// 01A		sample ID + suffix
	// 02R		2d vial + suffix
	// 0821-07	DNA Analyte
	
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	private long id;

	@Column(name="barcode")
	private String barcode;

	@Column(name="studyNumber")
	private String studyNumber;

	@Column(name="patientNumber")
	private int patientNumber;

	@Column(name="sampleID")
	private int sampleID;

	@Column(name="sampleID_suffix")
	private String sampleID_suffix;

	@Column(name="secondVial")
	private int secondVial;

	@Column(name="secondVial_suffix")
	private String secondVial_suffix;

	@Column(name="dnaAnalyte")
	private String dnaAnalyte;


	@Column(name="normalization")
	private String normalization;

	@Column(name="gene")
	private String gene;

	@Column(name="value")
	private double value;

	
	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public String getBarcode() {
		return barcode;
	}

	public void setBarcode(String barcode) {
		this.barcode = barcode;
	}

	public String getNormalization() {
		return normalization;
	}

	public void setNormalization(String normalization) {
		this.normalization = normalization;
	}

	public String getGene() {
		return gene;
	}

	public void setGene(String gene) {
		this.gene = gene;
	}

	public double getValue() {
		return value;
	}

	public void setValue(double value) {
		this.value = value;
	}
	public String getStudyNumber() {
		return studyNumber;
	}

	public void setStudyNumber(String studyNumber) {
		this.studyNumber = studyNumber;
	}

	public int getPatientNumber() {
		return patientNumber;
	}

	public void setPatientNumber(int patientNumber) {
		this.patientNumber = patientNumber;
	}

	public int getSampleID() {
		return sampleID;
	}

	public void setSampleID(int sampleID) {
		this.sampleID = sampleID;
	}

	public String getSampleID_suffix() {
		return sampleID_suffix;
	}

	public void setSampleID_suffix(String sampleIDSuffix) {
		sampleID_suffix = sampleIDSuffix;
	}

	public int getSecondVial() {
		return secondVial;
	}

	public void setSecondVial(int secondVial) {
		this.secondVial = secondVial;
	}

	public String getSecondVial_suffix() {
		return secondVial_suffix;
	}

	public void setSecondVial_suffix(String secondVialSuffix) {
		secondVial_suffix = secondVialSuffix;
	}

	public String getDnaAnalyte() {
		return dnaAnalyte;
	}

	public void setDnaAnalyte(String dnaAnalyte) {
		this.dnaAnalyte = dnaAnalyte;
	}


	// Constructor
	public LowessNormalized(){

	}
	
	public LowessNormalized(String gene, String barcode, String normalization, double val){

		this.setGene(gene);
		this.setBarcode(barcode);
		this.setNormalization(normalization);
		this.setValue(val);
	}

	public LowessNormalized(String barcode, 
			String studyNumber,
			int patientNumber, 
			int sampleID, 
			String sampleIDSuffix,
			int secondVial, 
			String secondVialSuffix, 
			String dnaAnalyte,
			String normalization, 
			String gene, 
			double value) {
		super();
		this.barcode = barcode;
		this.studyNumber = studyNumber;
		this.patientNumber = patientNumber;
		this.sampleID = sampleID;
		this.sampleID_suffix = sampleIDSuffix;
		this.secondVial = secondVial;
		this.secondVial_suffix = secondVialSuffix;
		this.dnaAnalyte = dnaAnalyte;
		this.normalization = normalization;
		this.gene = gene;
		this.value = value;
	}

	
}
